<?php

// Helper method to get a string description for an HTTP status code
// From http://www.gen-x-design.com/archives/create-a-rest-api-with-php/ 

function getStatusCodeMessage($status)
{
    // these could be stored in a .ini file and loaded
    // via parse_ini_file()... however, this will suffice
    // for an example
    $codes = Array(
        100 => 'Continue',
        101 => 'Switching Protocols',
        200 => 'OK',
        201 => 'Created',
        202 => 'Accepted',
        203 => 'Non-Authoritative Information',
        204 => 'No Content',
        205 => 'Reset Content',
        206 => 'Partial Content',
        300 => 'Multiple Choices',
        301 => 'Moved Permanently',
        302 => 'Found',
        303 => 'See Other',
        304 => 'Not Modified',
        305 => 'Use Proxy',
        306 => '(Unused)',
        307 => 'Temporary Redirect',
        400 => 'Bad Request',
        401 => 'Unauthorized',
        402 => 'Payment Required',
        403 => 'Forbidden',
        404 => 'Not Found',
        405 => 'Method Not Allowed',
        406 => 'Not Acceptable',
        407 => 'Proxy Authentication Required',
        408 => 'Request Timeout',
        409 => 'Conflict',
        410 => 'Gone',
        411 => 'Length Required',
        412 => 'Precondition Failed',
        413 => 'Request Entity Too Large',
        414 => 'Request-URI Too Long',
        415 => 'Unsupported Media Type',
        416 => 'Requested Range Not Satisfiable',
        417 => 'Expectation Failed',
        500 => 'Internal Server Error',
        501 => 'Not Implemented',
        502 => 'Bad Gateway',
        503 => 'Service Unavailable',
        504 => 'Gateway Timeout',
        505 => 'HTTP Version Not Supported'
    );
 
    return (isset($codes[$status])) ? $codes[$status] : '';
}
// Helper method to send a HTTP response code/message
function sendResponse($status = 200, $body = '', $content_type = 'text/html')
{
    $status_header = 'HTTP/1.1 ' . $status . ' ' . getStatusCodeMessage($status);
    header($status_header);
    header('Content-type: ' . $content_type);
    echo $body;
}



class ReturnInformation {




	function sendAttendance() {

	if (isset($_GET["sref"])) {





		$student = $_GET["sref"];
		$theServer = "scc-sql-1";
		$connectionInfo = array("UID"=>"staff-ulive", "PWD"=>"readonly", "Database"=>"cdf");
		$conn = sqlsrv_connect( $theServer, $connectionInfo);
		$query = "select e.ayrc, e.modref,
		e.m_reference, replace(m.m_name,' class','') as className, e_statusdes
		from cdf_enrolment e 
		inner join cdf_module m on m.modref = e.modref and m_type like 'cl'
		where s_studentreference like ? and e_status in ('1','2') and e_end >= getdate()
		order by e.ayrc desc, classname";
			$query_Params = array($student);
		
		
		$queryName = "select stu_name from cdf_student where s_studentreference like ?";
			$run_queryName = sqlsrv_query( $conn, $queryName, $query_Params);		
			$stuName = "no student found";
			
		
			$runQuery = sqlsrv_query( $conn, $query, $query_Params);
			
			$response = array();
			$classes = array();
			
					if( $conn )
					{
						if ($runQuery)
						{
						$i = 1;
							while ($row = sqlsrv_fetch_array( $runQuery, SQLSRV_FETCH_ASSOC))
								{
									$theClass = $row["m_reference"];
									$posts[] = array("classCode"=>$theClass,"className"=>$row["className"]);
									$response['classes'] = $posts;	
								}
								
							$response['classes'] = $posts;	

							sendResponse(200, json_encode($response));
							return true;
						}
						else
						{
							echo("query failed.\n");
							die(print_r(sqlsrv_errors(),true));
						}
					}
					else
					{
					     echo "Connection could not be established.\n";
					     die( print_r( sqlsrv_errors(), true));
					}		
	
		}
		else
		{
		sendResponse(200, "[\"No student specified\",\"really\"]");
		return false;
		}

	}
	
}




$api = new ReturnInformation;
$api -> sendAttendance();

?>